package com.lvmama.rhino.service;

import java.util.Date;
import java.util.List;

import com.lvmama.rhino.entity.PieRobot;
import com.lvmama.rhino.mongo.RhinoRound;
import com.lvmama.rhino.mongo.RhinoTalk;


/**
 * 说明：
 * @author yecan
 * @date 2016年8月24日
 */
public interface MongoService {
	List<RhinoRound> queryByPage(Integer page,Integer pageSize);

	
	Long queryCount();

	
	List<RhinoRound> ajaxByPage(Integer page, Date startTime, Date endTime,
			String isMatch, String source);

	
	Long queryAjaxCount(Date startTime, Date endTime, String isMatch, String source);


	/**
	 * @param endDate 
	 * @param startDate  
	* @Title: ajaxPie 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @return    设定文件 
	* @return List<PieRobot>    返回类型 
	* @throws 
	*/
	List<PieRobot> ajaxPie(Date startDate, Date endDate);


	/**
	 * @param string  
	* @Title: exportMongoData 
	* @Description: 按条件查询数据并且导出
	* @param @param isMatch
	* @param @param startDate
	* @param @param endDate
	* @param @return    设定文件 
	* @return List<RhinoRound>    返回类型 
	* @throws 
	*/
	List<RhinoRound> exportMongoData(String isMatch, Date startDate,
			Date endDate, String source);


	/**
	 * @param string3 
	 * @param string2 
	 * @param string  
	* @Title: findSatisfactionData 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @param startDate
	* @param @param endDate
	* @param @return    设定文件 
	* @return List<RhinoSatisfaction>    返回类型 
	* @throws 
	*/
	List<RhinoTalk> findSatisfactionData(String string, String string2, Date startDate, Date endDate, String string3);


	/**
	 * @param source  
	* @Title: queryTalkCount 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @param startDate
	* @param @param endDate
	* @param @return    设定文件 
	* @return Long    返回类型 
	* @throws 
	*/
	Long queryTalkCount(String str,Date startDate, Date endDate, String source);


	/** 
	* @Title: queryBySessionId 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @param page
	* @param @param sessionId
	* @param @return    设定文件 
	* @return List<RhinoRound>    返回类型 
	* @throws 
	*/
	List<RhinoRound> queryBySessionId(Integer page, String sessionId);


	/**
	 * @param sessionId  
	* @Title: queryCountBySessionId 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @return    设定文件 
	* @return Long    返回类型 
	* @throws 
	*/
	Long queryCountBySessionId(String sessionId);


	/** 
	* @Title: ajaxSatisfactionPie 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param @param startDate
	* @param @param endDate
	* @param @return    设定文件 
	* @return List<PieRobot>    返回类型 
	* @throws 
	*/
	List<PieRobot> ajaxSatisfactionPie(Date startDate, Date endDate);


	/** 
	* @Title: queryTalkBySessionId 
	* @Description:  
	* @param @param sessionId
	* @param @return    设定文件 
	* @return RhinoTalk    返回类型 
	* @throws 
	*/
	RhinoTalk queryTalkBySessionId(String sessionId);
}
